//定义关于counter的store
import { defineStore } from 'pinia'

/**
 * Option Store 
 * getters里用state 访问state  若访问getters 用this
 * actions里用this 访问state/getters/actions
 */
//defineStore 是返回一个函数 函数命名最好有use前缀，根据函数来进行下一步操作
//Pinia 将用第一个参数来连接 store 和 devtools
const useCounter = defineStore('counter', {
  state: () => ({
    name: '张三',
    age: 16,
  }),
  getters: {
    ageMap(state) {
      return state.age + '岁'
    },
    ageMap2() {
      return this.ageMap + '的人'
    }
  },
  actions: {
    increment() {
      this.age++
      if (this.age > 20) {
        this.doubleIncreat()
      }
    },
    doubleIncreat() {
      this.age += 2
    }
  }
}
)

export default useCounter